0.0
NA
CVE-2026-43278
dm: clear cloned request bio pointer when last clone bio completes
Description

In the Linux kernel, the following vulnerability has been resolved: dm: clear cloned request bio pointer when last clone bio completes Stale rq->bio values have been observed to cause double-initialization of cloned bios in request-based device-mapper targets, leading to use-after-free and double-free scenarios. One such case occurs when using dm-multipath on top of a PCIe NVMe namespace, where cloned request bios are freed during blk_complete_request(), but rq->bio is left intact. Subsequent clone teardown then attempts to free the same bios again via blk_rq_unprep_clone(). The resulting double-free path looks like: nvme_pci_complete_batch() nvme_complete_batch() blk_mq_end_request_batch() blk_complete_request() // called on a DM clone request bio_endio() // first free of all clone bios ... rq->end_io() // end_clone_request() dm_complete_request(tio->orig) dm_softirq_done() dm_done() dm_end_request() blk_rq_unprep_clone() // second free of clone bios Fix this by clearing the clone request's bio pointer when the last cloned bio completes, ensuring that later teardown paths do not attempt to free already-released bios.

INFO

Published Date :

May 6, 2026, 12:16 p.m.

Last Modified :

May 6, 2026, 1:07 p.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-43278 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

No affected product recoded yet

Solution
Clear the clone request bio pointer to prevent double-free and use-after-free vulnerabilities.
  • Apply the kernel patch to clear the cloned request bio pointer.
  • Update the Linux kernel to the latest patched version.
  • Ensure device-mapper and NVMe drivers are up-to-date.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-43278 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-43278 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-43278 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-43278 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    May. 06, 2026

    Action Type Old Value New Value
    Added Description In the Linux kernel, the following vulnerability has been resolved: dm: clear cloned request bio pointer when last clone bio completes Stale rq->bio values have been observed to cause double-initialization of cloned bios in request-based device-mapper targets, leading to use-after-free and double-free scenarios. One such case occurs when using dm-multipath on top of a PCIe NVMe namespace, where cloned request bios are freed during blk_complete_request(), but rq->bio is left intact. Subsequent clone teardown then attempts to free the same bios again via blk_rq_unprep_clone(). The resulting double-free path looks like: nvme_pci_complete_batch() nvme_complete_batch() blk_mq_end_request_batch() blk_complete_request() // called on a DM clone request bio_endio() // first free of all clone bios ... rq->end_io() // end_clone_request() dm_complete_request(tio->orig) dm_softirq_done() dm_done() dm_end_request() blk_rq_unprep_clone() // second free of clone bios Fix this by clearing the clone request's bio pointer when the last cloned bio completes, ensuring that later teardown paths do not attempt to free already-released bios.
    Added Reference https://git.kernel.org/stable/c/3d746b639be4b4f5cd8ce2b06aa52dc443f50edc
    Added Reference https://git.kernel.org/stable/c/7daf279c674d515fb22a727a7bbc92aeb35c5442
    Added Reference https://git.kernel.org/stable/c/83d72091804600ead96dc9e9f518ea56cb4942f6
    Added Reference https://git.kernel.org/stable/c/8d9ddad561136f7e6a9346767bf97b4d79e38e67
    Added Reference https://git.kernel.org/stable/c/9a95b98202113045bc1a5bcb30388a500f25e050
    Added Reference https://git.kernel.org/stable/c/b1c1a2637ebd675aa2d71fee8c70da8791d73850
    Added Reference https://git.kernel.org/stable/c/e2e738e8dfbbf83bd2bae0467ec4420cc52da42a
    Added Reference https://git.kernel.org/stable/c/fb8a6c18fb9a6561f7a15b58b272442b77a242dd
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.